/*eslint no-use-before-define: ["error", { "classes": false }]*/

new A();
class A {
}

{
  class C extends C {}
}

{
  class C {
    static x = "foo";
    [C.x]() {}
  }
}

{
  class C {
    static {
      new D();
    }
  }
  class D {}
}